package com.brillilab.domain.po.user;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.Data;

import java.io.Serializable;
import java.util.Date;


//(value = "用户信息表")
@Data
@TableName("users")
@JsonInclude(JsonInclude.Include.NON_NULL)
public class Users implements Serializable {

    private static final long serialVersionUID=1L;

    /**
     * 用户ID
     */
    @TableId(type=IdType.AUTO)
    private Long id;
    /**
     * 当前所在实验室Id
     */
    private Long labId;
    /**
     * 用户姓名
     */
    private String name;
    /**
     * 状态
     */
    private Integer state;
    /**
     * 密码
     */
    @JsonIgnore
    private String password;
    /**
     * 手机号
     */
    private String mobile;
    /**
     * 邮箱
     */
    private String email;
    /**
     * 性别
     */
    private Integer sex;
    /**
     * 头像图片
     */
    private String imageUrl;
    /**
     * 云信账户
     */
    @JsonIgnore
    private String imAccount;
    /**
     * 云信token
     */
    @JsonIgnore
    private String imToken;

    //(value = "创建时间")
    @JsonIgnore
    private Date createTime;

    //(value = "修改时间")
    @JsonIgnore
    private Date updateTime;

    /**
     * 数据密码
     */
    @JsonIgnore
    private String securityPwd;
    /**
     * 证件号
     */
    private String certificateNo;
    /**
     * 最近登录时间
     */
    private Date lastLoginTime;

    private Integer isGuide;

    /**
     * 提示语
     */
    @TableField(exist=false)
    private String tips;

    /**
     * 是否修改过密码（0否，1是）
     */
    private Integer isChangedPwd;

    /**
     * 首次登录时间
     */
    private Date firstLoginTime;

    /**
     * 过期时间
     */
    private Date expireDate;

    /**
     * 付费类型(1免费，2试用，3VIP)
     */
    private Integer payType;

    /**
     * 证件照
     */
    private String cardImg;

}
